﻿using Microsoft.Practices.EnterpriseLibrary.Data;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Linq;
using System.Text;

namespace Artech.Core
{
    public interface IDataAccess
    {
        Database Database { get; }
        string ApplicationName { get; }

        IDataReader ExecuteReader(string procedureName, params object[] parameterValues);
        int ExecuteNonQuery(string procedureName, params object[] parameterValues);
        int ExecuteNonQuery(DbCommand command);
        void ExecuteTransactionalOperations(Action<DbTransaction> actionWithTransaction, Action actionWithouTransaction);
    }
}